package com.ruoyi.bluebera.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 地址交易记录对象 biz_tx_record
 * 
 * @author ruoyi
 * @date 2025-08-19
 */
public class BizTxRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    private Long id;

    /** 链ID */
    @Excel(name = "链ID")
    private String chainId;

    /** 区块高度 */
    @Excel(name = "区块高度")
    private Long blockNumber;

    /** 入块时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入块时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date blockTime;

    /** 合约地址 */
    @Excel(name = "合约地址")
    private String contractAddress;

    /** 交易哈希 */
    @Excel(name = "交易哈希")
    private String hash;

    /** 发送地址 */
    @Excel(name = "发送地址")
    private String fromAddr;

    /** 接收地址 */
    @Excel(name = "接收地址")
    private String toAddr;

    /** 转账金额 */
    @Excel(name = "转账金额")
    private BigDecimal value;

    /** 确认数 */
    @Excel(name = "确认数")
    private Long confirmations;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setChainId(String chainId) 
    {
        this.chainId = chainId;
    }

    public String getChainId() 
    {
        return chainId;
    }

    public void setBlockNumber(Long blockNumber) 
    {
        this.blockNumber = blockNumber;
    }

    public Long getBlockNumber() 
    {
        return blockNumber;
    }

    public void setBlockTime(Date blockTime) 
    {
        this.blockTime = blockTime;
    }

    public Date getBlockTime() 
    {
        return blockTime;
    }

    public void setContractAddress(String contractAddress) 
    {
        this.contractAddress = contractAddress;
    }

    public String getContractAddress() 
    {
        return contractAddress;
    }

    public void setHash(String hash) 
    {
        this.hash = hash;
    }

    public String getHash() 
    {
        return hash;
    }

    public void setFromAddr(String fromAddr) 
    {
        this.fromAddr = fromAddr;
    }

    public String getFromAddr() 
    {
        return fromAddr;
    }

    public void setToAddr(String toAddr) 
    {
        this.toAddr = toAddr;
    }

    public String getToAddr() 
    {
        return toAddr;
    }

    public void setValue(BigDecimal value) 
    {
        this.value = value;
    }

    public BigDecimal getValue() 
    {
        return value;
    }

    public void setConfirmations(Long confirmations) 
    {
        this.confirmations = confirmations;
    }

    public Long getConfirmations() 
    {
        return confirmations;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("chainId", getChainId())
            .append("blockNumber", getBlockNumber())
            .append("blockTime", getBlockTime())
            .append("contractAddress", getContractAddress())
            .append("hash", getHash())
            .append("fromAddr", getFromAddr())
            .append("toAddr", getToAddr())
            .append("value", getValue())
            .append("confirmations", getConfirmations())
            .append("createTime", getCreateTime())
            .toString();
    }
}
